1. Technical Field
The present invention relates to Medium Access Control (MAC) protocols in wireless network environments, and more specifically, to methods for reducing collision between transmitted packets by applying for a transmission reservation of a transmitting node to schedule the order of transmitting nodes.
2. Related Art
Unlike wired communication, wireless communication features that all the nodes share a medium, air, by the nature of radio waves spreading in all directions. Accordingly, what is critical for wireless communication is a Medium Access Control (MAC) protocol that enables reliable communication by reducing interference and collision that may be caused upon using shared resources.
Among others, MAC protocols using a duty cycling scheme in which a node is periodically rendered in sleep mode to reduce the power consumption of the node may largely come in a synchronous mode and an asynchronous mode depending on sleep mode switching methods. Synchronous MAC protocols are MAC protocols in which all of the nodes constituting a network share the same sleep mode switching period and switching time. In other words, all of the nodes simultaneously switch sleep mode and stay in sleep mode for the same time. The synchronous MAC protocols have a shorter transmission delay time than that of asynchronous MAC protocols but have increased protocol overhead due to control frames that should be periodically transmitted for sleep mode synchronization. In contrast, the asynchronous MAC protocols are MAC protocols in which each node freely manages the period and time when the node switches to sleep mode. The asynchronous MAC protocols do not require sleep period synchronization and thus have a reduced protocol overhead due to control frame exchange. Further, the asynchronous MAC protocols have the merit that each node may freely determine its sleep period considering the characteristics of each node, i.e., available energy or capacity of transmission buffer.
The asynchronous MAC protocols may be classified into transmitter-initiated protocols and receiver-initiated protocols depending on the node that initiates communication. A representative receiver-initiated protocol is the Receiver-Initiated MAC (RI-MAC) protocol. All the nodes, if the sleep period ends, inform that they are ready to receive by broadcasting base beacon frames. Transmitting nodes, if there occurs a data frame they are to send, terminate sleep mode and wake up, and wait until they receive base beacon frames from a potential receiving node of the data frame. When receiving the base beacon frames from the receiving node, the transmitting nodes transmit data frames. When the receiving node successfully receives the data frame supposed to be transmitted thereto after the base beacon frame has been broadcast, acknowledge beacon frames are broadcast to inform that the receiving node has received the data frame while informing the potential transmitting nodes that the receiving node is ready to receive. The response beacon frame includes the address of the node that has transmitted the data frame and thus the transmitting node that has received the response beacon frame may identify whether the data the transmitting node has sent is transmitted without trouble. When failing to successfully receive the data frame that is transmitted to the receiving node, e.g., for the reason that multiple transmitting nodes transmit data frames to the receiving node simultaneously, the receiving node broadcasts the response beacon frames containing a non-zero backoff window value. The transmitting nodes receive the response beacon frames containing the backoff window value and select arbitrary times respectively within a range designated by the backoff window value, and in case none of the transmitting nodes transmit data frames during the time, transmit their data frames. In the case of a response beacon frame broadcast when the data frame is normally received or a base beacon frame broadcast when the sleep period ends, the backoff window value may be set to 0 and may be sent. When the backoff window value is 0, the transmitting nodes receiving the beacon frames may immediately transmit their data frames.
FIG. 1 is a view illustrating a receiver-initiated asynchronous MAC protocol in a network environment where a plurality of transmitting nodes are present.
Referring to FIG. 1, a plurality of transmitting nodes (node 2 120 and node 3 130) transmit data to a receiving node 110. In this example, the environment includes two transmitting nodes and one receiving node. However, the present invention is not limited thereto and may apply to an environment where more than three nodes are present.
A network 100 may be a sensor network including a plurality of sensor nodes. The nodes may communicate data through M2M (Machine to Machine) and IoT (Internet of Things)-based short range communication. The nodes may be mobile nodes or sensor nodes. In the receiver-initiated MAC protocol, the transmitting nodes initiate data transmission by the beacon frame of the receiver, i.e., the receiving node, node 1 110. When the plurality of transmitting nodes (node 2 120 and node 3 130) receiving the beacon frame simultaneously perform data transmission, a collision may occur, causing waste of resources used for data transmission. In particular, since sensor nodes constituting a sensor network have limited available energy, it is required to consider collision when designing an MAC protocol.
FIG. 2 is a view illustrating an operational example of the prior art when data frames collide with each other in an environment where a plurality of transmitting nodes (node 2 220 and node 3 230) are present.
Referring to FIG. 2, it is assumed that node 2 220 and node 3 230 each intend to transmit data frames to node 1 210. Because node 2 220 and node 3 230 wake up before node 1 210 starts to transmit a base beacon frame, node 2 220 and node 3 230 stay in standby mode, and after receiving the base beacon frame, transmit data frames so that a collision occurs. Node 1 210 senses the collision in the received data frame and transmits a response beacon frame containing a backoff window value. When receiving the response beacon frame, node 2 220 and node 3 230 start backoff contention. Since node 2 220 and node 3 230 respectively select 2 and 9 so that node 2 220 wins the contention. Accordingly, communication of the data frame and communication of the response beacon frame are sequentially performed. Node 2 220, because of having one more data frame left to send, receives the response beacon frame and then re-starts backoff contention with node 3 in order to have a chance to transmit a data frame. Node 2 220 and node 3 230 respectively select 4 and 3, and thus, node 3 230 wins the contention and transmission of the data frame and reception of the response beacon frame are performed. Node 3 230 which has no more data frame to send receives the response beacon frame and then switches to sleep mode. Node 2 220, after receiving the response beacon frame, wins the backoff contention and succeeds in transmission of a second data frame and reception of the response beacon frame. Node 2 220 has no more data frame to send and switches to sleep mode. Node 1 210 waits a predetermined time (dwell time) after the response beacon frame is broadcast, and if no data frame is received, switches to sleep mode. While node 1 210 is in sleep mode, node 2 220 and node 3 230 have data frames to send and wake up out of sleep mode, and node 1 210 ends sleep mode and broadcasts a base beacon frame. When receiving the base beacon frame from node 1 210, node 2 220 and node 3 230 happen to simultaneously transmit data frames to send so that collision occurs in node 1 210.
According to the prior art, since in a network having light data traffic, transmitting nodes spend most of the time in sleep mode, consumed power may be further reduced as compared with the synchronous protocol, but in the case where there is heavy data traffic as shown in FIG. 2, frequent collision and re-transmission may occur. Collision and its resultant re-transmission may lead to an increase in energy consumption and a reduction in throughput performance to both the transmitting and receiving nodes, and in the case of a sensor network, nodes may have reduced lifespan and network disconnectivity.